#ifndef INPUTPC_H
#define INPUTPC_H

#include "input.h"
#include <dinput.h>

//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
//	keyboard
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
class ID_KEYBOARDPC : public ID_KEYBOARD
{
public:
	ID_KEYBOARDPC( INPUTDEVICE **ppme, HWND hWnd );
	~ID_KEYBOARDPC();
	void		Process();

	void	MapKey( u32 keyDefine, u32 bits=0 );

protected:
	bool	CreateDevice();

protected:
	IDirectInputDevice8	*pDevice;
	HWND				m_hWnd;
	char				keyState[256];
	u32					keyMappings[256];
};

//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
//	mouse
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
class ID_MOUSEPC : public ID_MOUSE
{
public:
	ID_MOUSEPC( INPUTDEVICE **ppme, HWND hWnd );
	~ID_MOUSEPC();
	void		Process();

	void		GetMovement( s32 *pX=0, s32 *pY=0, s32 *pZ=0 );

protected:
	bool	CreateDevice();

protected:
	IDirectInputDevice8	*pDevice;
	HWND				m_hWnd;
	DIMOUSESTATE		mouseState;
};

#endif
